package com.smarttest.common.beans.protolcol.can;

import java.io.Serializable;
import java.util.Date;

/**
 * @author Lyn(tanqunlin@huoyunren.com)
 * @date 2015年1月14日 下午6:25:07
 */
public class CanDistance implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = -7139735380259636677L;
	private int id;
	/**
	 * 设备号
	 */
	private String imei;
	/**
	 * 机构编号
	 */
	private String orgcode;
	/**
	 * 车辆id
	 */
	private String truckId;
	/**
	 * 车牌no(sysid + truckId)
	 */
	private String truckNo;
	/**
	 * 司机编号
	 */
	private String driverNo;
	/**
	 * gps号
	 */
	private String gpsno;
	/**
	 * 平台id
	 */
	private String sysid;
	
	/**
	 * 行程类型：0/设备上传；1/平台计算; 2/smart行程
	 */
	private int type;
	/**
	 * 行程编号
	 */
	private double distanceNumber;
	/**
	 * 行程开始时间
	 */
	private Date startTime;
	/**
	 * 行程开始经度
	 */
	private double startLng;
	/**
	 * 行程开始纬度
	 */
	private double startLat;
	/**
	 * 行程结束时间
	 */
	private Date stopTime;
	/**
	 * 行程结束经度
	 */
	private double stopLng;
	/**
	 * 行程结束纬度
	 */
	private double stopLat;
	/**
	 * 上次行程状态
	 */
	private int lastDistanceStatus;
	/**
	 * 行程信息长度
	 */
	private double distanceMsgLength;
	/**
	 * 行使里程
	 */
	private double totalDistance;
	/**
	 * 行程开始里程计
	 */
	private double ecuDistanceAtDistanceStart;
	/**
	 * 引擎运转总时数
	 */
	private double totalEngineRunningTime;
	/**
	 * 转速过高次数
	 */
	private int overRotatingTimes;
	/**
	 * 转速过高时间
	 */
	private double overRotatingTime;
	/**
	 * 最高转速
	 */
	private int maxRotatingSpeed;
	/**
	 * 刹车里程
	 */
	private double brakeDistance;
	/**
	 * 刹车次数
	 */
	private int brakeTimes;
	/**
	 * 刹车时间
	 */
	private long brakeTime;
	/**
	 * 急刹车次数
	 */
	private int hardBrakeTimes;
	/**
	 * 超速次数
	 */
	private int overSpeedingTimes;
	/**
	 * 超速总时间
	 */
	private long overSpeedingTime;
	/**
	 * 最高速度
	 */
	private double maxSpeed;
	/**
	 * 行程油耗
	 */
	private double totalOil;
	/**
	 * 怠速油耗
	 */
	private double idlingOil;
	/**
	 * 行车油耗
	 */
	private double runningOil;
	/**
	 * 怠速时间
	 */
	private long idlingTime;
	/**
	 * 暖车时间
	 */
	private long hotVehicleTime;
	/**
	 * 异常怠速时间
	 */
	private long abnormalIdlingTime;
	
	/**
	 * 转速-车速 持续时间对应关系
	 */
	private String speedAndRotatingRelation;
	
	/**
	 * 行程创建时间
	 */
	private Date createTime;
	/**
	 * 更新时间
	 */
	private Date updateTime;
	
	/** 急加速次数 */
	private int postedSpeedCount = -1;
	
	/**
     * PTO怠速油耗
     */
    private double ptoIdlingOil;
	
	private long xcTime;//行车时间',
	private long xhTime;//熄火时间
	private double xsTime;//行驶耗时  (启动耗时)
//	private double dsTime;//怠速耗时
//	private double xsOil;//行驶油耗(启动油耗)
//	private double dsOil;//怠速油耗
	private double wscDistance;//未刹车里程
//	private double scDistance;//刹车里程
	private long wscTime;//未刹车时间
//	private long scTime;//刹车时间
	private long scqdTime;//刹车启动
//	private int xcTotal;//总刹车次数
	private long startengine;//引擎启动
//	private double warmtime;//暖车时间
//	private double abnormalidle;//异常怠速
//	private int speeding;//超速次数
//	private int speedHigh;//转速过高
//	private long speedingTime;//超速时间
//	private long speedHightTime;//超转时间
//	private double MaxSpeed;//最高时速
//	private double MaxSpeedHigh;//最高转速
	private int bringHalt;//急刹车
	private String speedtimetotal;//转速车速详情
	public String getImei() {
		return imei;
	}
	public void setImei(String imei) {
		this.imei = imei;
	}
	public String getOrgcode() {
		return orgcode;
	}
	public void setOrgcode(String orgcode) {
		this.orgcode = orgcode;
	}
	public String getTruckId() {
		return truckId;
	}
	public void setTruckId(String truckId) {
		this.truckId = truckId;
	}
	public String getTruckNo() {
		return truckNo;
	}
	public void setTruckNo(String truckNo) {
		this.truckNo = truckNo;
	}
	public String getDriverNo() {
		return driverNo;
	}
	public void setDriverNo(String driverNo) {
		this.driverNo = driverNo;
	}
	public String getGpsno() {
		return gpsno;
	}
	public void setGpsno(String gpsno) {
		this.gpsno = gpsno;
	}
	public String getSysid() {
		return sysid;
	}
	public void setSysid(String sysid) {
		this.sysid = sysid;
	}
	public int getType() {
		return type;
	}
	public void setType(int type) {
		this.type = type;
	}
	public double getDistanceNumber() {
		return distanceNumber;
	}
	public void setDistanceNumber(double distanceNumber) {
		this.distanceNumber = distanceNumber;
	}
	public Date getStartTime() {
		return startTime;
	}
	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}
	public double getStartLng() {
		return startLng;
	}
	public void setStartLng(double startLng) {
		this.startLng = startLng;
	}
	public double getStartLat() {
		return startLat;
	}
	public void setStartLat(double startLat) {
		this.startLat = startLat;
	}
	public Date getStopTime() {
		return stopTime;
	}
	public void setStopTime(Date stopTime) {
		this.stopTime = stopTime;
	}
	public double getStopLng() {
		return stopLng;
	}
	public void setStopLng(double stopLng) {
		this.stopLng = stopLng;
	}
	public double getStopLat() {
		return stopLat;
	}
	public void setStopLat(double stopLat) {
		this.stopLat = stopLat;
	}
	public int getLastDistanceStatus() {
		return lastDistanceStatus;
	}
	public void setLastDistanceStatus(int lastDistanceStatus) {
		this.lastDistanceStatus = lastDistanceStatus;
	}
	public double getDistanceMsgLength() {
		return distanceMsgLength;
	}
	public void setDistanceMsgLength(double distanceMsgLength) {
		this.distanceMsgLength = distanceMsgLength;
	}
	public double getTotalDistance() {
		return totalDistance;
	}
	public void setTotalDistance(double totalDistance) {
		this.totalDistance = totalDistance;
	}
	public double getEcuDistanceAtDistanceStart() {
		return ecuDistanceAtDistanceStart;
	}
	public void setEcuDistanceAtDistanceStart(double ecuDistanceAtDistanceStart) {
		this.ecuDistanceAtDistanceStart = ecuDistanceAtDistanceStart;
	}
	public double getTotalEngineRunningTime() {
		return totalEngineRunningTime;
	}
	public void setTotalEngineRunningTime(double totalEngineRunningTime) {
		this.totalEngineRunningTime = totalEngineRunningTime;
	}
	public int getOverRotatingTimes() {
		return overRotatingTimes;
	}
	public void setOverRotatingTimes(int overRotatingTimes) {
		this.overRotatingTimes = overRotatingTimes;
	}
	public double getOverRotatingTime() {
		return overRotatingTime;
	}
	public void setOverRotatingTime(double overRotatingTime) {
		this.overRotatingTime = overRotatingTime;
	}
	public int getMaxRotatingSpeed() {
		return maxRotatingSpeed;
	}
	public void setMaxRotatingSpeed(int maxRotatingSpeed) {
		this.maxRotatingSpeed = maxRotatingSpeed;
	}
	public double getBrakeDistance() {
		return brakeDistance;
	}
	public void setBrakeDistance(double brakeDistance) {
		this.brakeDistance = brakeDistance;
	}
	public int getBrakeTimes() {
		return brakeTimes;
	}
	public void setBrakeTimes(int brakeTimes) {
		this.brakeTimes = brakeTimes;
	}
	public long getBrakeTime() {
		return brakeTime;
	}
	public void setBrakeTime(long brakeTime) {
		this.brakeTime = brakeTime;
	}
	public int getHardBrakeTimes() {
		return hardBrakeTimes;
	}
	public void setHardBrakeTimes(int hardBrakeTimes) {
		this.hardBrakeTimes = hardBrakeTimes;
	}
	public int getOverSpeedingTimes() {
		return overSpeedingTimes;
	}
	public void setOverSpeedingTimes(int overSpeedingTimes) {
		this.overSpeedingTimes = overSpeedingTimes;
	}
	public long getOverSpeedingTime() {
		return overSpeedingTime;
	}
	public void setOverSpeedingTime(long overSpeedingTime) {
		this.overSpeedingTime = overSpeedingTime;
	}
	public double getMaxSpeed() {
		return maxSpeed;
	}
	public void setMaxSpeed(double maxSpeed) {
		this.maxSpeed = maxSpeed;
	}
	public double getTotalOil() {
		return totalOil;
	}
	public void setTotalOil(double totalOil) {
		this.totalOil = totalOil;
	}
	public double getIdlingOil() {
		return idlingOil;
	}
	public void setIdlingOil(double idlingOil) {
		this.idlingOil = idlingOil;
	}
	public long getIdlingTime() {
		return idlingTime;
	}
	public void setIdlingTime(long idlingTime) {
		this.idlingTime = idlingTime;
	}
	public long getHotVehicleTime() {
		return hotVehicleTime;
	}
	public void setHotVehicleTime(long hotVehicleTime) {
		this.hotVehicleTime = hotVehicleTime;
	}
	public long getAbnormalIdlingTime() {
		return abnormalIdlingTime;
	}
	public void setAbnormalIdlingTime(long abnormalIdlingTime) {
		this.abnormalIdlingTime = abnormalIdlingTime;
	}
	public String getSpeedAndRotatingRelation() {
		return speedAndRotatingRelation;
	}
	public void setSpeedAndRotatingRelation(String speedAndRotatingRelation) {
		this.speedAndRotatingRelation = speedAndRotatingRelation;
	}
	public long getXcTime() {
		return xcTime;
	}
	public void setXcTime(long xcTime) {
		this.xcTime = xcTime;
	}
	public long getXhTime() {
		return xhTime;
	}
	public void setXhTime(long xhTime) {
		this.xhTime = xhTime;
	}
	public double getXsTime() {
		return xsTime;
	}
	public void setXsTime(double xsTime) {
		this.xsTime = xsTime;
	}
	public double getRunningOil() {
		return runningOil;
	}
	public void setRunningOil(double xsOil) {
		this.runningOil = xsOil;
	}
	public double getWscDistance() {
		return wscDistance;
	}
	public void setWscDistance(double wscDistance) {
		this.wscDistance = wscDistance;
	}
	public long getWscTime() {
		return wscTime;
	}
	public void setWscTime(long wscTime) {
		this.wscTime = wscTime;
	}
	public long getScqdTime() {
		return scqdTime;
	}
	public void setScqdTime(long scqdTime) {
		this.scqdTime = scqdTime;
	}
	public long getStartengine() {
		return startengine;
	}
	public void setStartengine(long startengine) {
		this.startengine = startengine;
	}
	public int getBringHalt() {
		return bringHalt;
	}
	public void setBringHalt(int bringHalt) {
		this.bringHalt = bringHalt;
	}
	
	public String getSpeedtimetotal() {
		return speedtimetotal;
	}
	public void setSpeedtimetotal(String speedtimetotal) {
		this.speedtimetotal = speedtimetotal;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	
	public int getPostedSpeedCount() {
		return postedSpeedCount;
	}
	public void setPostedSpeedCount(int postedSpeedCount) {
		this.postedSpeedCount = postedSpeedCount;
	}
	public double getPtoIdlingOil() {
        return ptoIdlingOil;
    }
    public void setPtoIdlingOil(double ptoIdlingOil) {
        this.ptoIdlingOil = ptoIdlingOil;
    }
    @Override
    public String toString() {
        return "CanDistance [id=" + id + ", imei=" + imei + ", orgcode=" + orgcode + ", truckId=" + truckId
                + ", truckNo=" + truckNo + ", driverNo=" + driverNo + ", gpsno=" + gpsno + ", sysid=" + sysid
                + ", type=" + type + ", distanceNumber=" + distanceNumber + ", startTime=" + startTime + ", startLng="
                + startLng + ", startLat=" + startLat + ", stopTime=" + stopTime + ", stopLng=" + stopLng
                + ", stopLat=" + stopLat + ", lastDistanceStatus=" + lastDistanceStatus + ", distanceMsgLength="
                + distanceMsgLength + ", totalDistance=" + totalDistance + ", ecuDistanceAtDistanceStart="
                + ecuDistanceAtDistanceStart + ", totalEngineRunningTime=" + totalEngineRunningTime
                + ", overRotatingTimes=" + overRotatingTimes + ", overRotatingTime=" + overRotatingTime
                + ", maxRotatingSpeed=" + maxRotatingSpeed + ", brakeDistance=" + brakeDistance + ", brakeTimes="
                + brakeTimes + ", brakeTime=" + brakeTime + ", hardBrakeTimes=" + hardBrakeTimes
                + ", overSpeedingTimes=" + overSpeedingTimes + ", overSpeedingTime=" + overSpeedingTime + ", maxSpeed="
                + maxSpeed + ", totalOil=" + totalOil + ", idlingOil=" + idlingOil + ", runningOil=" + runningOil
                + ", idlingTime=" + idlingTime + ", hotVehicleTime=" + hotVehicleTime + ", abnormalIdlingTime="
                + abnormalIdlingTime + ", speedAndRotatingRelation=" + speedAndRotatingRelation + ", createTime="
                + createTime + ", updateTime=" + updateTime + ", postedSpeedCount=" + postedSpeedCount
                + ", ptoIdlingOil=" + ptoIdlingOil + ", xcTime=" + xcTime + ", xhTime=" + xhTime + ", xsTime=" + xsTime
                + ", wscDistance=" + wscDistance + ", wscTime=" + wscTime + ", scqdTime=" + scqdTime + ", startengine="
                + startengine + ", bringHalt=" + bringHalt + ", speedtimetotal=" + speedtimetotal + "]";
    }
    
}
